package com.huilian.iotbox.admin.wap.controller;

import com.huilian.iotbox.admin.wap.service.RolePermissionTempService;
import com.huilian.iotbox.data.common.ServerResponse;
import com.huilian.iotbox.data.controller.BaseController;
import com.huilian.iotbox.data.dto.DisplayRackItemDto;
import com.huilian.iotbox.data.dto.RolePermissionTempDto;
import com.huilian.iotbox.data.enums.RoleEnum;
import com.huilian.iotbox.data.vo.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * @author LinYinDong
 * @date 2024/10/10 下午5:55
 */
@RestController
@RequestMapping("/api/rolePermissionTemp")
public class RolePermissionTempController extends UserInfoController {
    @Autowired
    private RolePermissionTempService rolePermissionTempService;

    @PostMapping("/editRolePermissionTemp")
    public ServerResponse editRolePermissionTemp(@RequestBody RolePermissionTempDto rolePermissionTempDto, HttpServletRequest request) {
        UserInfo userInfo = super.getLoginUserInfo(request);
        rolePermissionTempDto.setUserInfo(userInfo);
        if (RoleEnum.SUB_ACCOUNT.getRoleId().equals(userInfo.getRoleId())) {
            rolePermissionTempDto.setUserId(userInfo.getParentId());
        } else {
            rolePermissionTempDto.setUserId(userInfo.getId());
        }
        return rolePermissionTempService.editRolePermissionTemp(rolePermissionTempDto);
    }

    @GetMapping("/delRoleOrRolePermissionTemp")
    public ServerResponse delRole(Integer id, HttpServletRequest request) {
        UserInfo userInfo = super.getLoginUserInfo(request);
        RolePermissionTempDto rolePermissionTempDto = new RolePermissionTempDto();
        rolePermissionTempDto.setUserInfo(userInfo);
        rolePermissionTempDto.setId(id);
        if (RoleEnum.SUB_ACCOUNT.getRoleId().equals(userInfo.getRoleId())) {
            rolePermissionTempDto.setUserId(userInfo.getParentId());
        } else {
            rolePermissionTempDto.setUserId(userInfo.getId());
        }
        return rolePermissionTempService.delRole(rolePermissionTempDto);
    }
}
